import Vue from 'vue'


Vue.prototype.$addUnit = (value = 'auto') => {

	// if (value.indexOf("%") != -1) {
	// 	value = value.replace("%", "");
	// 	value = value * 750 / 100
	// }



	value = String(value);
	// 用uView内置验证规则中的number判断是否为数值
	return Vue.prototype.$u.test.number(value) ? `${value}rpx` : value;
}


Vue.prototype.$upload = (name, path, url) => {

	uni.showLoading({
		title: "上传中..."
	})
	return new Promise((resolve, reject) => {
		// 图片
		uni.uploadFile({
			url: Vue.prototype.$baseUrl + '/common/upload',
			name: name,
			filePath: path,
			header: {
				Authorization: 'Bearer ' + uni.getStorageSync("token")
			},
			success(res) {
				// console.log(res); 
				// debugger;
				if (res.statusCode === 200) {
					uni.hideLoading();

					let result = JSON.parse(res.data)
					if (result.code === 200) {
						uni.showToast({
							icon: 'none',
							title: '上传成功',
							duration: 2000,
						})

					} else {
						uni.showToast({
							icon: 'none',
							title: '上传失败-' + res.data.msg + "-001",
							duration: 2000,
						})
					}

					resolve(result);
				} else {
					uni.showToast({
						icon: 'none',
						title: '上传失败-' + res.errMsg + "-002",
						duration: 2000,
					})
					let result = {};
					result.code = 0;
					resolve(result)
				}

			},
			fail(error) {
				console.log(error);
				uni.showToast({
					icon: 'none',
					title: '上传失败-003',
					duration: 2000,
				})
				let result = {};
				result.code = 0;
				resolve(result)
			}


		});
	});


}


/* 小程序更新 */
Vue.prototype.$updateWechat = () => {
	let updateManager = uni.getUpdateManager();


	if (!updateManager) {
		return
	} else {
		//新版本更新
		if (uni.canIUse('getUpdateManager')) {
			//判断当前微信版本是否支持版本更新
			updateManager.onCheckForUpdate(function(res) {

				if (res.hasUpdate) {
					// 请求完新版本信息的回调
					updateManager.onUpdateReady(function() {
						uni.showModal({
							title: '更新提示',
							content: '新版本已经准备好，是否重启应用？',
							success: function(res) {
								if (res.confirm) {
									// 新的版本已经下载好，调用 applyUpdate 应用新版本并重启
									updateManager.applyUpdate();
								}
							},
						});
					});
					updateManager.onUpdateFailed(function() {
						uni.showModal({
							// 新的版本下载失败
							title: '已经有新版本了哟~',
							content: '新版本已经上线啦~，请您删除当前小程序，重新搜索',
						});
					});
				} else {}
			});
		} else {
			uni.showModal({
				// 如果希望用户在最新版本的客户端上体验您的小程序，可以这样子提示
				title: '提示',
				content: '当前微信版本过低，部分功能无法使用，请升级到最新微信版本后重试。',
			});
		}

	}
}


Vue.prototype.$cxString = function(str, showStr) {
	let result = ""
	if (showStr) {
		result = showStr;
	}
	if (typeof str === 'undefined' || str === null) {
		return result;
	}
	return str;
}

Vue.prototype.$cxUrl = function(str) {
	let result = ""

	let strO = Vue.prototype.$cxString(str)
	if (strO.length > 0) {
		if (str.indexOf('http') == -1) {
			result = Vue.prototype.$baseUrl + str
		} else {
			result = str
		}
	}

	return result
}


Vue.prototype.$cxObj = function(obj, showStr) {

	// 遍历对象的属性
	for (let key in obj) {
		// 如果属性值为 null，则设置为空字符串
		if (obj[key] === null) {
			obj[key] = showStr ? showStr : '';
		}
		// 如果属性值为对象，则递归调用该函数
		else if (typeof obj[key] === 'object') {
			Vue.prototype.$cxObj(obj[key]);
		}
	}

}